#通过socket实现服务器端和客户端的在线聊天
import socket #导入socket模块
import hashlib#导入haslib模块用于加密文件
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#声明socket类型面向连接，套接字家族为AF_INET
host = '0.0.0.0' #设置本地主机作为地址
port = 30000#设置端口
s.bind((host,port)) #绑定地址和端口
s.listen()#开始监听
conn,addr = s.accept()#建立客户连接
print('连接的地址和端口：', addr)  # 输出响应地址127.0.0.1和一个任意监听的地址的端口
while True:
    data = conn.recv(1024)  # 接受数据为1024字节
    if data.decode() == 'close':
        break
    else:
        print(f'客户端发送的数据：{data.decode()}')
    data_res = input("服务端：")
    if data_res == 'close':
        conn.send(data_res.encode())
        break
    else:
        conn.send(data_res.encode())
#打开文件
f = open('D:/desktop/1.txt','r')
a=f.read()
#对文件进行加密
b = hashlib.md5()

b.update(a.encode(encoding='utf-8'))

print ('MD5加密后：'+b.hexdigest())
#发送密文
s.sendall(b.hexdigest())
s.close()#会话关闭
conn.close()#连接关闭
